package cn.xlbweb.cli.service;

import cn.xlbweb.cli.model.User;
import cn.xlbweb.cli.common.ServerResponse;
import cn.xlbweb.cli.common.TableResponse;
import cn.xlbweb.cli.pojo.dto.InsertUserDTO;
import cn.xlbweb.cli.pojo.dto.UpdateUserDTO;
import cn.xlbweb.cli.pojo.dto.ListUserDTO;

/**
 * @author: bobi
 * @date: 2019-09-15 14:15
 * @description:
 */
public interface IUserService {

    Object xxx();

    /**
     * 查询当前登录用户基本信息、菜单信息
     *
     * @return
     */
    ServerResponse getCurrentUser();

    /**
     * 根据账号查询用户信息
     *
     * @param username
     * @return
     */
    User getUserByUsername(String username);

    /**
     * 分页模糊查询用户
     *
     * @param usersListDTO
     * @return
     */
    TableResponse listUser(ListUserDTO usersListDTO);

    /**
     * 根据ID查询用户
     *
     * @param userId
     * @return
     */
    ServerResponse getUser(Integer userId);

    /**
     * 添加用户
     *
     * @param insertUserDTO
     * @return
     */
    ServerResponse insertUser(InsertUserDTO insertUserDTO);

    /**
     * 更新用户
     *
     * @param updateUserDTO
     * @return
     */
    ServerResponse updateUser(UpdateUserDTO updateUserDTO);

    /**
     * 删除用户
     *
     * @param ids
     * @return
     */
    ServerResponse deleteUser(String ids);
}
